重點是要透過第一天的 Nonce 來算出 IV,果然金融機構的 API 就是複雜。要從計算的結果再計算…
依規格書中的說明:
產出IV值前必須要先行取得Nonce後才能產生,
計算方式是將取得的Nonce值作SHA256加密後,
再將英文轉換成大寫取字串右邊16碼長度
(例:CB6FA68E42B655AB)。
今天的比較簡單,就把網路上查到的解法直接寫成程式碼與註解吧 :
# 戴入內建的hashlib 模組
import hashlib
# 字串轉為 SHA256的編碼如下
# 其中 Nonce_str 是上次算出來的 Nonce 內容
sha256 = hashlib.sha256(Nonce_str.encode()).hexdigest()
# 透過 upper 方法轉成大寫
sha256_upper = sha256.upper()
# 若要實作像是 Excel 中的 Right 函數,在 Python 中極為簡單
# 要從右邊數過來取幾個文字,例如 16,這時再加上一個負號 -16,
# 如此這樣就可以囉 >> [-16:]
IV_value = sha256_upper[-16:]
好的! 明天也要繼續加油